package org.alvin.ocpp;

import org.alvin.mini_inject.InjectContext;
import org.alvin.mini_inject.annotations.MiniServiceScan;

import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;

/**
 * ocpp 模拟器入口
 */
@MiniServiceScan({"org.alvin.ocpp"})
public class OcppMain {

    public static void main(String[] args) throws ParseException {
//        InjectContext.run(OcppMain.class, args);

//        int i = 4;
//        System.out.println("除以2：" + (i >> 1));
//        System.out.println("乘以2：" + (i << 1));
//
//        int a = 4;
//        int b = 5;
//        System.out.println("交换前：a=" + a + "   b=" + b);
//        a ^= b;
//        b ^= a;
//        a ^= b;
//        System.out.println("交换后：a=" + a + "   b=" + b);

//        ZoneId zoneId= ZoneId.systemDefault();
        //定时时间格式，T表示时间元素的开始，

//
//
//        // 获取当前的带时区的时间
////        ZonedDateTime now = ZonedDateTime.now();
//
//        String text = "2024-8-22T11:57:44Z";
//
//        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
//
//        // 定义自定义格式
////        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd\\THH:mm:ss\\Z");
//
//        System.out.println(simpleDateFormat.parse(text));
////        System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(simpleDateFormat.parse(text)));
//
//        Date utilDate = simpleDateFormat.parse(text);
//        // 将 java.util.Date 转换为 Instant
//        Instant instant = utilDate.toInstant();
//        // 使用指定的时区转换为 ZonedDateTime
//        ZonedDateTime zonedDateTime = instant.atZone(ZoneId.systemDefault());
//        System.out.println(zonedDateTime);
//
//        // 转换为自定义格式的时间字符串
////        String formattedTime = now.format(formatter);
//
////        System.out.println("自定义格式时间：" + formattedTime);
        System.out.println(new BigDecimal("1.000").multiply(new BigDecimal("0.000")));
    }
}


